Skip to main content
Version: 0.8

AWS Configuration

AWS-backed plugins such as S3, SQS, SNS, Glue, Lambda, DynamoDB share common credentials configuration. The same config is used by the S3 backend in File Sources.

Credentials

Credentials are configured under credentials:

credentials:
use_default: true
region: "us-east-1"
FieldDescription
use_defaultUse the default AWS credential chain (env vars, shared config, instance profile). Recommended.
idAWS access key ID.
secretAWS secret access key.
tokenAWS session token.
profileProfile name from the shared credentials file.
roleIAM role ARN to assume.
role_external_idExternal ID for cross-account role assumption.
regionAWS region.
endpointCustom endpoint URL (useful for LocalStack or other S3-compatible services).

Default credential chain

The recommended option. Marmot will pick up credentials from environment variables, ~/.aws/credentials, ~/.aws/config, container credentials or EC2/EKS instance profiles in the usual order.

credentials:
use_default: true
region: "us-east-1"

Static credentials

Provide an access key pair directly. Use a session token for temporary credentials.

credentials:
id: "AKIA..."
secret: "..."
region: "us-east-1"

Named profile

Use a named profile from ~/.aws/credentials or ~/.aws/config.

credentials:
profile: "my-profile"
region: "us-east-1"

Assume role

Assume an IAM role after loading the base credentials. role_external_id is supported for cross-account assumption.

credentials:
use_default: true
role: "arn:aws:iam::123456789012:role/MarmotReader"
role_external_id: "optional-external-id"
region: "us-east-1"

Custom endpoint

Point at a non-AWS endpoint such as LocalStack.

credentials:
use_default: true
region: "us-east-1"
endpoint: "http://localhost:4566"